﻿namespace KingerRobot.MexicoSailunWMS.Spi;
public interface IProductService
{
    //根据胎号查询胎胚信息
    List<ProductInfo> GetProdProductByCode(ProductParm product);
    /// <summary>
    /// 根据设备名称获得备份任务以及绑定信息
    /// </summary>
    /// <param name="equipName"></param>
    /// <returns></returns>
    List<ScanerBandInfo> GetBandInfoByEquipName(BindInfoParm bindinfo);
    /// <summary>
    /// 获取库存生产时间数量
    /// </summary>
    /// <returns></returns>
    List<StockMdTimeCount> GetStockMdTimeCount();
}
public class StockMdTimeCount
{
    public string MdTime { get; set; }
    /// <summary>
    /// 按生产时间的数量
    /// </summary>
    public int Count { get; set; }
    /// <summary>
    /// 按入库时间的数量
    /// </summary>
    public int InCount { get; set; }
}
public class ProductInfo
{
    //胎号
    public string code { get; set; }
    //物料编码
    public string materialCode { get; set; }
    //物料名称
    public string materialName { get; set; }
    //物料规格
    public string materialSpec { get; set; }
    //生产时间
    public DateTime? mdTime { get; set; }
    //生产设备名称
    public string equipName { get; set; }

}
public class ScanerBandInfo
{
    //胎号
    public string code { get; set; }
    //物料Id
    public long materialId { get; set; }
    //物料编码
    public string materialCode { get; set; }
    //物料名称
    public string materialName { get; set; }
    //物料规格
    public string materialSpec { get; set; }
    //任务号
    public int taskNo { get; set; }
    //目标库位
    public long targetLoc { get; set; }
    //绑定时间
    public DateTime createTime { get; set; }

}
public class ProductBean
{
    /// <summary>
    /// 胎胚条码
    /// </summary>
    public string TireBarcode { get; set; }
    /// <summary>
    /// 物料id
    /// </summary>
    public string MaterialId { get; set; }
    /// <summary>
    /// 物料code
    /// </summary>
    public string MaterialCode { get; set; }
    /// <summary>
    /// 生产设备
    /// </summary>
    public string ProductEquip { get; set; }
    /// <summary>
    /// 生产时间
    /// </summary>
    public DateTime? ProductTime { get; set; }

    /// <summary>
    /// 生产批次
    /// </summary>
    public string ProductBatch { get; set; }
    /// <summary>
    /// 胎胚锁定
    /// </summary>
    public int? TireLock { get; set; }
    /// <summary>
    /// 1可用 0不可用
    /// </summary>
    public int? UseFlag { get; set; }
    /// <summary>
    /// 质量[0：合格;1:不合格]
    /// </summary>
    public int? QuailtyStatus { get; set; }
    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? CreateTime { get; set; }
}
public class ProductParm
{
    public string Code { get; set; }

    public DateTime? StartTime { get; set; }
    public DateTime? EndTime { get; set; }

    public string orderByName { get; set; }
    public string orderByType { get; set; }

}
public class BindInfoParm
{
    public string EquipName { get; set; }
}
